/*
 * MiddlewareCliente.h
 *
 *  Created on: Jan 22, 2010
 *      Author: jgrande
 */

#ifndef BROKERCLIENTE_H_
#define BROKERCLIENTE_H_

#include <utility>
#include <string>

#include <stdlib.h>
#include <unistd.h>

#include "MiddlewareCliente.h"
#include "GestorAnillo.h"

#include "../Common/CommonTypes.h"
#include "../Common/Config.h"
#include "../Common/MensajeNuevoAnillo.h"
#include "../Common/MensajeAgregarReceptor.h"
#include "../Common/MensajeQuitarReceptor.h"

#include "../../Framework/IO/log.h"
#include "../../Framework/Common/utiles.h"

#include "../../Framework/Comunicaciones/tcpsocket.h"

#include "../../Framework/Shared/msgqueue.h"
#include "../../Framework/Shared/sem.h"
#include "../../Framework/Shared/shmap.h"
#include "../../Framework/Shared/shlist.h"

using middleware::common::Direccion;
using middleware::common::PDUPuntoAPunto;
using middleware::common::MensajeNuevoAnillo;
using middleware::common::MensajeAgregarReceptor;
using middleware::common::MensajeQuitarReceptor;
using middleware::common::MapaLineasTCP;
using middleware::common::ListaReceptores;
using middleware::common::ParEmisorReceptor;

using middleware::comunicaciones::GestorAnillo;

using namespace framework::io;

pid_t brokerClienteAceptor();
pid_t brokerClienteALC();
pid_t brokerClienteReceptor(TCPSocket sock);
pid_t brokerClienteEmisor(TCPSocket sock, Direccion dir);

#endif /* BROKERCLIENTE_H_ */
